﻿<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="ReporteDinamico.aspx.cs" Inherits="WebSite.ReporteDinamico" %>
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>
<%@ MasterType VirtualPath="~/Site.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="CphContenido" runat="server">
    <div class="intro">
        <div class="pad">
            <div style="TEXT-ALIGN:center; height:30px"><a href="Inicio.aspx"><strong>Regresar a la Página Principal</strong></a></div>              
            <h3 style="color:White">Generador de Reportes</h3>
        </div>
    </div>
    <br />
    <div class="textbox">
        <h3>Configurar reporte</h3> 
        <h2>Seleccionar origen</h2>
        <p>Origen:&nbsp;<asp:dropdownlist id="DdlOrigenDatos" runat="server" Width="350px" DataTextField="tabla" DataValueField="tabla" AutoPostBack="true" OnSelectedIndexChanged="DdlOrigenDatos_SelectedIndexChanged"></asp:dropdownlist></p>
                
        <asp:UpdatePanel ID="UdpColumnasVisualizar" runat="server">
           <ContentTemplate>
	          <table style="width:100%;" cellpadding="0" cellspacing="0">
	            <tr>
	                <td style="width:49%;">Columnas disponibes:
                    <asp:LinkButton ID="LkbColumnasSeleccionarTodas" runat="server" OnClick="LkbColumnasSeleccionarTodas_Click" Font-Bold="true">Incluir todas las columnas</asp:LinkButton></td>
                    <td></td>
	                <td style="width:49%;">Columnas visualizar:
                    <asp:LinkButton ID="LkbColumnasEliminarTodas" runat="server" OnClick="LkbColumnasEliminarTodas_Click" Font-Bold="true">Eliminar todas las columnas</asp:LinkButton></td>
	            </tr>
	            <tr>
	                <td style="vertical-align:top;">
	                    <asp:datagrid id="GrdOrigenColumnas" runat="server" AutoGenerateColumns="False" Width="100%" CellPadding="4"
						    GridLines="None" ForeColor="#333333" AllowPaging="True" PageSize="5" 
                            OnItemCommand="GrdOrigenColumnas_ItemCommand" 
                            OnPageIndexChanged="GrdOrigenColumnas_PageIndexChanged" 
                            OnItemDataBound="GrdOrigenColumnas_ItemDataBound">
						    <FooterStyle ForeColor="White" BackColor="#9CC146" Font-Bold="True"></FooterStyle>
						    <SelectedItemStyle Font-Bold="True" ForeColor="#333333" BackColor="#E2DED6"></SelectedItemStyle>
						    <AlternatingItemStyle BackColor="White" ForeColor="#284775"></AlternatingItemStyle>
						    <ItemStyle ForeColor="#333333" BackColor="#F7F6F3"></ItemStyle>
						    <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#9CC146"></HeaderStyle>
						    <Columns>
						        <asp:BoundColumn Visible="False" DataField="Nombre" HeaderText="Columna"></asp:BoundColumn>
							    <asp:BoundColumn DataField="Descripcion" HeaderText="Campo"></asp:BoundColumn>
							    <asp:BoundColumn DataField="Tipo" HeaderText="Tipo"></asp:BoundColumn>
							    <asp:ButtonColumn Text="Visualizar" CommandName="Visualizar">
                                    <ItemStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                                        Font-Underline="False" />
                                </asp:ButtonColumn>
							    <asp:ButtonColumn Text="Filtrar" CommandName="Filtrar">
                                    <ItemStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                                        Font-Underline="False" />
                                </asp:ButtonColumn>
						    </Columns>
						    <PagerStyle HorizontalAlign="Right" ForeColor="White" BackColor="#9CC146" Mode="NumericPages"></PagerStyle>
                            <EditItemStyle BackColor="#999999" />
					    </asp:datagrid>
				    </td>
				    <td>&nbsp;</td>
	                <td style="vertical-align:top;">
                         <asp:datagrid id="GrdBusquedaVisualizar" Width="100%" runat="server" AutoGenerateColumns="False"
				            CellPadding="4" GridLines="None" ForeColor="#333333" AllowPaging="True" PageSize="5" OnPageIndexChanged="GrdBusquedaVisualizar_PageIndexChanged" OnItemCommand="GrdBusquedaVisualizar_ItemCommand" OnItemDataBound="GrdBusquedaVisualizar_ItemDataBound">
				            <FooterStyle ForeColor="White" BackColor="#9CC146" Font-Bold="True"></FooterStyle>
				            <SelectedItemStyle Font-Bold="True" ForeColor="#333333" BackColor="#E2DED6"></SelectedItemStyle>
				            <AlternatingItemStyle BackColor="White" ForeColor="#284775"></AlternatingItemStyle>
				            <ItemStyle ForeColor="#333333" BackColor="#F7F6F3"></ItemStyle>
				            <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#9CC146"></HeaderStyle>
				            <Columns>
					            <asp:BoundColumn DataField="Descripcion" HeaderText="Campo"></asp:BoundColumn>
					            <asp:BoundColumn DataField="Orden" HeaderText="Orden"></asp:BoundColumn>
					            <asp:BoundColumn Visible="False" DataField="Nombre" HeaderText="Columna"></asp:BoundColumn>
					            <asp:ButtonColumn Text="Quitar" CommandName="Quitar">
                                    <ItemStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                                        Font-Underline="False" />
                                </asp:ButtonColumn>
				            </Columns>
				            <PagerStyle HorizontalAlign="Right" ForeColor="White" BackColor="#9CC146" Mode="NumericPages"></PagerStyle>
                            <EditItemStyle BackColor="#999999" />
			            </asp:datagrid>
                     </td>
	              </tr>
	           </table>
	        </ContentTemplate>
            <Triggers>
                <asp:AsyncPostBackTrigger ControlID="DdlOrigenDatos" EventName="SelectedIndexChanged" />
            </Triggers>
        </asp:UpdatePanel>
        
        <br />

        <h2>Criterios de busqueda</h2>

        <asp:UpdatePanel ID="UdpColumnasCriterios" runat="server">
                <ContentTemplate>
                    <table style="width:100%;border:0" cellpadding="0" cellspacing="0">
                        <tr>
                            <td colspan="4"><strong>Campo: <asp:Label ID="LblCampoNombre" runat="server" Visible="false"></asp:Label>
                                <asp:Label ID="LblCampoDescripcion" runat="server"></asp:Label>
                                &nbsp;(<asp:Label ID="LblCampoTipo" runat="server"></asp:Label>)</strong>
                            </td>
                            <td rowspan="3">
                                <asp:ImageButton ID="CmdCriterioAgregar" runat="server" 
                                    ValidationGroup="ValidadoresFiltro" 
                                    ImageUrl="Imagenes/Botones/boton_agregar.png" onclick="CmdCriterioAgregar_Click"/>                                
                            </td>
                        </tr>
                        <tr>
	                        <td style="width:25%;">Tipo filtro:</td>
		                    <td style="width:25%;"><asp:dropdownlist id="DdlTipoFiltro" runat="server" Width="50px">
			                        <asp:ListItem Value="AND">Y</asp:ListItem>
			                        <asp:ListItem Value="OR">O</asp:ListItem>
		                        </asp:dropdownlist></td>
	                        <td style="width:25%;">Tipo condición:</td>
	                        <td style="width:25%;"><asp:dropdownlist id="DdlTipoCondicion" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoCondicion_SelectedIndexChanged">
			                        <asp:ListItem Value="Like">Contiene</asp:ListItem>
			                        <asp:ListItem Value="Equals">Es igual a</asp:ListItem>
			                        <asp:ListItem Value="NotEquals">No es igual a</asp:ListItem>
			                        <asp:ListItem Value="Between">Entre los valores</asp:ListItem>
			                        <asp:ListItem Value="IsNotNull">Que tenga valor</asp:ListItem>
			                        <asp:ListItem Value="IsNull">Que no tenga valor</asp:ListItem>
		                        </asp:dropdownlist></td>
		                </tr>
                        <tr>
	                        <td>Desde:</td>
	                        <td><asp:textbox id="TxtCondicionDesde" runat="server" Width="100px" MaxLength="100"></asp:textbox>
                                <asp:CalendarExtender ID="TxtCondicionDesde_CalendarExtender" runat="server" 
                                    Enabled="True" TargetControlID="TxtCondicionDesde">
                                </asp:CalendarExtender>
                                <asp:RequiredFieldValidator ID="RfvCondicionDesde" runat="server" ValidationGroup="ValidadoresFiltro" ControlToValidate="TxtCondicionDesde"
                                    Display="Dynamic" ErrorMessage="*" ToolTip="Debe indicar la condicion" SetFocusOnError="True"></asp:RequiredFieldValidator><asp:CompareValidator
                                        ID="CmvCondicionDesde" ValidationGroup="ValidadoresFiltro" runat="server" ControlToValidate="TxtCondicionDesde"
                                        Display="Dynamic" ErrorMessage="*" Operator="DataTypeCheck" SetFocusOnError="True"
                                        Type="Date" ToolTip="El tipo de dato indicado no es valido"></asp:CompareValidator>                                
                            </td>
	                        <td>Hasta:</td>
	                        <td><asp:TextBox id="TxtCondicionHasta" runat="server" Width="100px" MaxLength="100"></asp:TextBox>
                                <asp:CalendarExtender ID="TxtCondicionHasta_CalendarExtender" runat="server" 
                                    Enabled="True" TargetControlID="TxtCondicionHasta">
                                </asp:CalendarExtender>
                                <asp:RequiredFieldValidator ID="RfvCondicionHasta" runat="server" ValidationGroup="ValidadoresFiltro" ControlToValidate="TxtCondicionHasta"
                                    Display="Dynamic" ErrorMessage="*" ToolTip="Debe indicar la condicion" SetFocusOnError="True"></asp:RequiredFieldValidator><asp:CompareValidator ID="CmvCondicionHasta" runat="server" ControlToValidate="TxtCondicionDesde" ValidationGroup="ValidadoresFiltro"
                                    Display="Dynamic" ErrorMessage="*" Operator="DataTypeCheck" SetFocusOnError="True"
                                    Type="Date" ToolTip="El tipo de dato indicado no es valido"></asp:CompareValidator>
                                
                            </td>
                        </tr>
                    </table>
                    <br />
                    <asp:datagrid id="GrdBusquedasCriterios" Width="100%" runat="server" AutoGenerateColumns="False" CellPadding="4"
						GridLines="None" ForeColor="#333333" AllowPaging="True" PageSize="5" 
                        OnPageIndexChanged="GrdBusquedasCriterios_PageIndexChanged" 
                        OnItemCommand="GrdBusquedasCriterios_ItemCommand" 
                        OnItemDataBound="GrdBusquedasCriterios_ItemDataBound">
						<FooterStyle ForeColor="White" BackColor="#9CC146" Font-Bold="True"></FooterStyle>
						<SelectedItemStyle Font-Bold="True" ForeColor="#333333" BackColor="#E2DED6"></SelectedItemStyle>
						<AlternatingItemStyle BackColor="White" ForeColor="#284775"></AlternatingItemStyle>
						<ItemStyle ForeColor="#333333" BackColor="#F7F6F3"></ItemStyle>
						<HeaderStyle Font-Bold="True" ForeColor="White" BackColor="#9CC146"></HeaderStyle>
						<Columns>
							<asp:BoundColumn DataField="Nombre" Visible="False" HeaderText="Columna"></asp:BoundColumn>
							<asp:BoundColumn DataField="Descripcion" HeaderText="Campo"></asp:BoundColumn>
							<asp:BoundColumn DataField="Tipo" HeaderText="Tipo"></asp:BoundColumn>
                            <asp:BoundColumn DataField="TipoFiltro" HeaderText="Tipo Filtro"></asp:BoundColumn>
                            <asp:BoundColumn DataField="TipoCondicion" HeaderText="Condicion Filtro"></asp:BoundColumn>
							<asp:BoundColumn DataField="Desde" HeaderText="Desde"></asp:BoundColumn>
							<asp:BoundColumn DataField="Hasta" HeaderText="Hasta"></asp:BoundColumn>
							<asp:ButtonColumn Text="Quitar" CommandName="Quitar">
                                <ItemStyle Font-Bold="True" Font-Italic="False" Font-Overline="False" Font-Strikeout="False"
                                    Font-Underline="False" />
                            </asp:ButtonColumn>
						</Columns>
						<PagerStyle HorizontalAlign="Right" ForeColor="White" BackColor="#9CC146" Mode="NumericPages"></PagerStyle>
                        <EditItemStyle BackColor="#999999" />
						            </asp:datagrid>
                </ContentTemplate>
                <Triggers>
                    <asp:AsyncPostBackTrigger ControlID="GrdOrigenColumnas" EventName="ItemCommand" />
                </Triggers>
        </asp:UpdatePanel>
        <br />
        <div style="text-align:center">
            <asp:ImageButton ID="CmdReporteGenerar" runat="server" OnClick="CmdReporteGenerar_Click" ImageUrl="Imagenes/Botones/boton_generar.png" />
            <asp:ImageButton id="CmdReporteCancelar" runat="server" OnClick="CmdReporteCancelar_Click" ImageUrl="Imagenes/Botones/boton_cancelar.png" />
        </div>
    </div>
    <div id="ReporteResultados" class="textbox">
	    <h2>Resultado</h2>
        <asp:GridView ID="GrdResultados" runat="server" CellPadding="4" ForeColor="#333333" GridLines="None" 
            AllowPaging="True" AllowSorting="False" PageSize="10" Width="100%" 
            OnPageIndexChanging="GrdResultados_PageIndexChanging">
            <FooterStyle BackColor="#9CC146" Font-Bold="True" ForeColor="White" HorizontalAlign="Right" />
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <PagerStyle BackColor="#9CC146" ForeColor="White" HorizontalAlign="Right" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <HeaderStyle BackColor="#9CC146" Font-Bold="True" ForeColor="White" />
            <EditRowStyle BackColor="#999999" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>
        <br />
	    <div style="text-align:center">
            <asp:ImageButton ID="CmdResultadosExportar" runat="server" 
                ImageUrl="Imagenes/Botones/boton_excel.png" 
                onclick="CmdResultadosExportar_Click" />	        
	    </div>
	</div>    
</asp:Content>
